#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void Swap(char*arr1,char*arr2,int width)
{
	for(int i=0;i<width;i++)
	{
		char t=*arr1;
		*arr1=*arr2;
		*arr2=t;
		arr1++;
		arr2++;
	}
}
void bubble_sort(void * p,
				 int sz,//数据个数
				 int width,//数据宽度  
				 int (*cmp)(const coid*e1,const void*e2))
{
	for(int i=0;i<sz-1;i++)
	{
		for(int j=0;j<sz-1-i;j++)
		{
			if(cmp((char*)p+j*width,(char*)p+(j+1)*width )>0)
			{
				//交换
				Swap((char*)p+j*width,(char*)p+(j+i)*width,width);
			}
		}
	}
}
